É porque o time
no primeiro comando é uma palavra-chave do shell. O time
no segundo comando é o executável. Veja a saída type
de time
:
$ type -a time
time is a shell keyword
time is /usr/bin/time
O comando unbuffer
precisa de um programa como argumento, não uma palavra-chave do shell. Não é possível interpretar uma palavra-chave do shell, esta é uma palavra-chave interna bash
.
E a diferença na saída que você vê é a diferença dessas duas implementações do comando time
. Basta usar o caminho abolute no primeiro comando que você tem o mesmo comportamento que no segundo:
/usr/bin/time find . -name unixstuff