質問: 環境はRaspbian Jessieです. `systemd`の`rc-local.service`経由で起動しています.
回答: 手元(Ubuntu 16.04)で確認したところ、`echo-sleep5.sh`の`echo "$i"`を`echo "$i" > /tmp/foo`とリダイレクトするように変更したら、コマンドラインから`caller.sh`しても`echo-sleep5.sh`のプロセスが残りました。 その先を追ってないので想像ですが、I/Oがエラーになるかどうかの違いではないでしょうか。