foo | more is implemented as foo > tmpfile; more < tmpfile; del tmpfile