Eu acredito que você precisa definir o local. Eu acho que você pode fazer isso:
LC_ALL="ru" pbpaste | sort
(A primeira parte define a variável de ambiente LC_ALL para a duração do comando).
Estou executando o Leopard. Quando eu emito um pbpaste, todos os caracteres são substituídos por pontos de interrogação. Salvei o texto em um arquivo codificado em UTF-8 chamado sort_temp.txt e em execução:
sort sort_temp.txt
fornece a mesma lista classificada incorretamente que você postou, mas executando
LC_ALL="ru" sort sort_temp.txt
ou
LANG="ru" sort sort_temp.txt
fornece uma lista corretamente classificada.