@komar во-первых, возвращается поломанная строка вместо Юникода, во-вторых, вместо строки в текущей локали для lookup'а значения переменной окружения отправляется неведома хуйня.
@Kagami стандарт [ opengroup.org ] говорит, что имя не может содержать знак =, больше ограничений нет, и утилиты shall tolerate символы не из переносимого набора, чего bash не делает.