Bash: esperar con tiempo de espera

En un script de Bash, me gustaría hacer algo como:

app1 &
pidApp1=$!
app2 &
pidApp2=$1

timeout 60 wait $pidApp1 $pidApp2
kill -9 $pidApp1 $pidApp2

Es decir, lanzar dos aplicaciones en segundo plano y darles 60 segundos para completar su trabajo. Luego, si no terminan dentro de ese intervalo, mátalos.

Desafortunadamente, lo anterior no funciona, ya quetimeout es un ejecutable, mientraswait es un comando de shell. Intenté cambiarlo a

timeout 60 bash -c wait $pidApp1 $pidApp2

Pero esto todavía no funciona, ya quewait Solo se puede llamar en un PID lanzado dentro del mismo shell.

¿Algunas ideas?