Isso ocorre porque o redirecionamento é realizado primeiro: >prova1 trunca o arquivo para que sort não encontre nada. sort prova1 > prova1_sorted funcionaria conforme o esperado.
prova1 é um arquivo com algum texto. Quando executo este código, prova1 fica vazio:
sort prova1 > prova1
Eu sei que para conseguir o efeito que posso fazer:
sort prova1 -o prova1
Eu apenas saberia o motivo:)