wall
não envia cada linha de sua entrada como uma mensagem separada. Ele coleta toda a entrada para enviar um único título Broadcast Message from ...
antes da mensagem, em vez de enviar um título separado para cada linha.
Se você quiser processar a entrada de uma linha por vez, insira um loop entre cat
e wall
:
cat |while read -r line; do wall <<<"$line"; done