fork(2)とpipe(2)とexec*(2or3)の組み合わせ。
pipeのsample programをgoogleしてちょ。

んなことはないと思うけど、
curses使っているようなヤツなら、libexpectね。