Как избежать использования eval set -- при парсинге аргументов?
При изучении парсинга аргументов скриптами на bash с использованием getopt почти везде встречаю использование вот такой конструкции: eval set -- "$SOMETHING_PARSED". Например, здесь и здесь. Так как планирую в будущем выкладывать свои рабочие скрипты в свободный доступ, то хотелось бы не оставлять такой дыры пользователям. Есть какие-то способы этого избежать?
Здесь описано, что в зависимости от версии getopt, можно обойтись без eval. Но, по крайней мере, в моём случае это не так. getopt выдаёт вот такую строку, как пример: ' -j --version= '\''1'\'' --number= '\''2'\'' -- '\''2C_IA/GBCs_out/nohope_2C_IA_off.xml'\'''. И set присваивает её полностью к переменной $1.