se isso satisfaz você, aqui está a proposição de como fazer isso usando pipes.
A suposição é que os arquivos de entrada e saída de "badtool" podem ser pipes.
mkfifo IF
mkfifo OF
# one therminal
tool | tool2 |... tooln > IF
# second terminal
bad_tool IF OF
#third terminal
tooln+1 < OF | tool n+2 | tool n+3 ...
Se você gostaria de criar um script, você pode incluir essas partes em funções:
function A(){ ... }
function B(){ ... }
function C(){ ... }
# and run in background in parallel
A&
B&
C&
Continue com todas as suas imagens (os canais IF
e OF
são "reutilizáveis") e, após todo o trabalho, exclua-os
rm IF OF