timeout 5 sleep 10 | tee -a LOG_FILE1 LOG_FILE2
RET=$?
echo "$RET"

上記のようにtimeoutコマンドを使用して終了ステータスの値によって処理を分岐させる実装していますが、
直でコマンドを実行した終了ステータスと
shellスクリプト内でコマンドを実行した際で終了ステータスが異なる為、
期待した動作になりません。
直でコマンドを実行した終了ステータス:124
shellスクリプト内でコマンドを実行した終了ステータス:0

どうすればshellスクリプト内でコマンドを実行した際に終了ステータスを正しく取得できるのでしょうか?