Basado en la respuesta de mankoff, esto funciona:
leave +1 2>&1 | while read line ; do echo $line | say ; done
aunque la licencia ya no se desvanece en el fondo y te permite seguir escribiendo. Del mismo modo:
leave +1 2>&1 | while read line ; do echo $line | say ; done &
hará que desaparezca en segundo plano, pero también hablará un número de ID de proceso (inofensivo) también. Así que ninguno de los dos es perfecto, pero ambos funcionan.
(Estaba buscando una solución para:
ping google.com | say
que sufre un problema similar, y alguien sugirió lo anterior como una solución. No agregué esto como un comentario a la respuesta de mankoff porque no puedo averiguar cómo poner espacios y nuevas líneas en los comentarios.).