Básicamente lo que sucede es que al ejecutar ese comando echo sin sudo, su configuración regional se establece en el idioma equivocado y el juego de caracteres (porque de las variables de entorno) y cuándo se debe ejecutar con sudo, esto se corrigió, porque entonces se evalúa el entorno de la sudo ed usuario, de modo que el carácter es el conjunto correcto (probablemente a UTF-8).
Esto es exactamente similar a lo que sucede cuando usted utiliza un ordenador con macOS conjunto para una configuración regional de inglés y la configuración de entrada, y luego trató de ejecutar un comando (por ejemplo de un script descargado). Porque el conjunto de caracteres es diferente que iba a funcionar de manera diferente.
Veo las mismas cosas que a menudo aquí en Dinamarca a los conflictos relacionados con ISO-8859-1 en comparación con UTF-8 (aunque UTF-8 se está convirtiendo en más y más ubicuo). Si los conjuntos de caracteres no coinciden, los personajes locales (es decir, åæø ÅÆØ) se convierte en ilegible después de tubería en comandos como pbcopy.
Para evitar esto, ajustar su comando como este cuando se ejecuta en la Terminal o desde un programa:
echo привиет как дела | LANG=en_US.UTF-8 pbcopy
Ajuste el juego de caracteres a UTF-8 significa que una muy amplia gama de personajes son compatibles, y coincide con el conjunto de caracteres que usted probablemente ha establecido Terminal.aplicación.