OT1H, this is still relatively crude; saving output to the end is both inelegant and suboptimal (but perhaps i repeat myself). OTOH, it does the job: Emacs can effect sh-like ‘1>’ and ‘2>’ control to fellow and parent processes, finally. Anyway, w/ that patch applied, the following program, slightly modified From the original, works fine (look ma, no /bin/sh!) w/ invocations: $ /tmp/info cat # interactive, "(coreutils) cat invocation" $ /tmp/info emacs # interactive, "(emacs) Top" $ /tmp/info zow # noninteractive, exit 1, msg on stderr To play, save to /tmp/info, chmod +x, and frob "bloody-emacs" to taste.