Eu acho que você poderia rodar seus scripts em segundo plano (usando &), armazenando seu pid de $ !. Do que você pode esperar para que os processos sejam concluídos. Para matar os dois scripts, você pode configurar o trap no kill e matar todos os processos em segundo plano.
#!/bin/sh
kill_background_processes() {
kill $template_watch_pid $sass_pid
}
trap kill_background_processes SIGINT SIGTERM
# Watch for js template changes.
./template-watch.sh &
template_watch_pid=$!
# Watch for changes in sass files and render them to CSS files.
sass --watch --style=compressed ../src/scss:../assets/css &
sass_pid=$!
wait $template_watch_pid $sass_pid
Esta função - eu testei isso. Basta executar este comando e, finalmente, pressionar Ctrl + C. Ambos os processos devem ser finalizados.