Eu acho que o seu problema surge de uma característica fundamental dos tubos, ou seja, buffering.
As soluções alternativas são confusas, mas você deve observar comandos como unbuffer
ou script
ou stdbuf
.
Talvez algo para parar o buffer de saída por tee assim:
your_program | stdbuf -o0 tee
PS. Eu não estou em um console agora, então não posso tentar isso.