Se o script de shell em questão contiver apenas um único comando que invoca um programa externo, você pode prefixar o comando com exec
para substituir o processo do shell, em vez de gerar um novo processo. Por exemplo. mudar
/path/to/my-program "$@"
para
exec /path/to/my-program "$@"
Como my-program
agora substitui o processo de shell, ele retém seu PID e recebe todos os sinais enviados a ele por PID incl. SIGINT. Obviamente, você não pode enviar um sinal para ele baseado no nome ou na linha de comando do shell script por mais tempo.