Огуз правильный. Вам необходимо проверить код завершения команды timeout. Если вы можете просмотреть скрипт. sh, чтобы убедиться, что он не возвращает код завершения 124, вы можете помочь снизить риск, определенный Огузом.
Итак, я считаю, что код будет выглядеть так:
$ timeout 5 script.sh || [ $? -eq 124 ] || { echo "Timeout is fine, but this is printed only if script.sh returns an error"; }