$ prog1 | prog2 | prog3 > job1.out
$ # で済むところを
$ prog1 > tmp1
$ prog2 < tmp1 > tmp2
$ prog3 < tmp2 > job1.out
$ rm tmp1 tmp2
$ # ってやるのか?