Проблема с аргументом команды useradd

У меня возникла проблема с аргументом команды useradd .

Я хочу добавить пользователя с параметром -p , и мой процесс получает зашифрованный пароль с другим процессом. Я использую системную команду для вызова команды useradd с правильными аргументами, но пароль не передается правильно.

Затем я попытался запустить команду useradd вручную и получил следующую ошибку:

 useradd -d /home -m -o -p "**\$1\$LmiSHTiI\$SVop.LoJGIkYQ6MdRSNW61**" -u 0 -g 0 cpu 

Я использовал зашифрованное значение «cpu123».

Снимок:

 execve("/usr/sbin/useradd", ["useradd", "-d", "/home", "-m", "-o", "-p", "**$1$LmiSHTiI$SVop.LoJGIkYQ6MdRSNW**", "-u", "0", "-g", "0", "cpu"], [/* 36 vars */]) 

В снимке strace я обнаружил, что последние цифры не добавляются с использованием опции -p .

Linux и Unix - лучшая ОС в мире.