O redirecionamento em
cat file1 >file2
é um redirecionamento de saída, enquanto < especifica um redirecionamento de entrada.
A linha
file2 < cat file1
é o mesmo que
file2 file1 <cat
(não importa muito onde o redirecionamento realmente ocorre quando ele é manipulado pelo shell em sua própria etapa de análise e, em seguida, removido do comando real), o que significa "executar file2 com file1 como argumento e redirecionar o entrada padrão do arquivo cat ".
O erro vem do shell tentando abrir cat como um arquivo no diretório atual. O erro ocorre antes que o shell tente executar o comando file2 .
Relacionados: Como esse comando é legal? "> arquivo1 < arquivo2 cat"