Определенно небезопасно, как есть,
Как и любой пользовательский ввод, вам придется не только избегать кавычек, но также проверять соответствие отправляемых данных и строго соблюдать их.
Например: если команда sometool ожидает путь, вы должны убедиться, что вводимый пользователем путь является допустимым. Если путь должен находиться в запрещенном месте, вы должны проверить это ограничение.
Предполагая, что ваша "str" должна быть допустимой строкой, вы можете начать с функции ввода фильтра.
https://www.php.net/manual/en/function.filter-input.php
Обязательно используйте соответствующие фильтры (для кавычек, кодировки и т. Д. c.): https://www.php.net/manual/en/filter.filters.php .
Здесь невозможно обойти экранирование.
Это каким-то образом обеспечивает соответствие данных, но все же вы должны быть уверены, что команда "sometool" на саму себя не повлияют какие-либо допустимые строковые символы или синтаксис, что делает его небезопасным в использовании.