O comando time em seu pipeline não é o binário /usr/bin/time , mas o bash time integrado. Compare man time com help time . O erro que você vê é que o bash não consegue analisar o argumento de time . Isso deve estar presente ou ser uma nova linha. É uma nova linha no seu primeiro exemplo, mas ausente no segundo.
Por outro lado, se você fosse executar
ls;date;'time'
ou
ls;'time';date
onde as aspas em torno de 'time' revogam seu status como uma palavra reservada, então o bash não tem problemas em analisar a linha. Agora, ele analisa três comandos em uma lista, que será executada em sequência, e /usr/bin/time relatará um erro de uso em ambos os casos.
Adendo
Observou-se que, embora time ; date produza um erro, time ; ; date não. A explicação provável é que time ; é interpretado por bash como equivalente a time <newline> . A expressão time ; ; date é então analisada como a lista de time ; e date .
Isso é consistente com a observação de que time ; e time ; ; são legais também, sendo o segundo analisado como a lista única contendo time ; seguido do ponto-e-vírgula opcional permitido após as listas.
Portanto, outra maneira de explicar por que time ; date gera o erro bash: syntax error near unexpected token 'date' é que time consome o ponto-e-vírgula separando-o de date . Só pode fazer isso porque time é uma palavra reservada.