Есть 2 вопроса. Ошибка в случае 2 связана с тем, что в системе нет команды SIGINT. В ОП было
trap "SIGINT in inner, do graceful shutdown" SIGINT
но, вероятно, нужная команда была
trap "echo SIGINT in inner, do graceful shutdown" SIGINT
Другой вопрос заключается в том, почему вызывается функция перехвата внутренних скриптов, хотя это не так. Процесс сна убит, скрипт переходит на следующую строку.