Você pode tentar usar o comando "wait" do Bash para escrever um pequeno script de wrapper Algo como:
#!/bin/bash
command=$*
$command &
wait
osd_cat "$command has finished"
O comando wait faz com que o script pause até que todos os processos filhos tenham retornado um código de saída. Você também pode adicionar um pouco de tempo limite para não esperar muito tempo