Uma vez eu escrevi um programa para fazer o inverso (monitorar a saída de um programa já iniciado). Não é uma operação simples; Ele usa o ptrace () para anexar ao processo e interceptar chamadas do sistema. Quando você detecta uma chamada do sistema read (), injete os dados.