お知恵をお貸しください

foo.shのなかでbar.shを読んでいます。
foo.shを出力結果をログファイルにも出したくて
(〜〜〜) 2>&1 | tee -a log.log みたいに
foo.shの中身を全部サブシェル化して、teeに渡したのですが、foo.shが終了しなくなりました。

色々調べたりした結果
bar.shの中で nohup baz &と、デーモン化している部分があるのですが、
このnohupのstdoutにteeが渡されることによりttyと判断されず、nohup.outが使われずに
デーモンプロセスのstdoutがteeに繋がってしまい、
結果teeのstdinがcloseされないためfoo.shも終らないのではないかと予想しました。

予想は立ったのですが解決方法がまったく思い浮かびません。

bar.shは商用資材なので変更不可ですが、
foo.shは複数のshellを連続実行しているだけの試験用のshellなのでいくらでもいじれます。
なんならshellなくなっても問題ないです。