Use melhor o módulo subprocesso .
>>> subprocess.run(["ls", "-l"]) # doesn't capture output
CompletedProcess(args=['ls', '-l'], returncode=0)
O módulo de subprocesso oferece recursos mais poderosos para gerar novos processos e recuperar seus resultados; usar esse módulo é preferível a usar essa função.
Mas, você pode usar a substituição de strings:
call_with_args = "./script2.py '%s' '%s'" % (str(arg1), str(arg2))
os.system(call_with_args)
Ou escreva formato
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'