Desde que fiz esta pergunta, adotei uma solução diferente, mas muito mais eficaz: use tmux .
Iniciar uma nova sessão nomeada e separada:
$ tmux new -d -s top
Envie um comando para sua janela zeroth.
$ tmux send-keys -t top:0 "top" C-m
C-m
é equivalente a atingir o retorno. Muitas vezes é o que você quer; às vezes você vai querer deixar de fora.
tmux 'está bem documentado. Por isso, é fácil escrever scripts muito mais complicados para orientá-lo.
Normalmente, isso seria uma resposta extremamente detestável, mas como é minha pergunta, eu me permito uma margem de manobra, especialmente porque nunca consegui que nenhum dos outros métodos funcionasse de maneira confiável. Em contraste, eu consegui rotear o tmux corretamente na primeira vez que tentei.