Попробуйте добавить запятые между элементами списка:
subprocess.call(['useradd', '-m', '-g', _primarygroup, '-G', _secondarygroup, \
'-u' ,_userid, _username])
subprocess.call
принимает те же аргументы, что и subprocess.Popen
:
args
должна быть строкой или последовательностью аргументов программы.
Редактировать
Чтобы превратить все ваши аргументы в строки одновременно, вы можете составить список:
args = ['useradd', '-m', '-g', _primarygroup, '-G', _secondarygroup, \
'-u' ,_userid, _username]
str_args = [ str(x) for x in args ]