Tu devrais lire le manuel de sort pour y voir clair.
Visiblement, il ne se contente pas de tri lexicographique brut mais plutôt sur les mots.
Exact, au risque de donner la réponse bien vite, j'aimerais
insister sur le gros *warning* à la fin de la page de manuel :
*** WARNING *** The locale specified by the environment
affects sort order. Set LC_ALL=C to get the traditional
sort order that uses native byte values.
(mille excuses pour la version du manuel dans la langue de
Shakespeare, je n'ai pas installé les locales Françaises.)
Le réglage de la variable d'environnement LC_ALL a la valeur C
permet de retrouver un comportement « cohérent » à la commande
`sort` :
$ export LC_ALL=C
$ sort fichier1
"a b"
"a z"
"a"
"ac"