Yes, you want to use subprocess. You just need to put each argument in a separate element in the list of arguments that you pass Popen:
subprocess.Popen(['convert', '1.png', '(', '+clone', '-background', 'black', '-shadow', '110x1+9+9',
')', '+swap', '-background', 'none', '-layers', 'merge', '+repage', '2.png'],
otherargments=values, etc=etc)
, .
- ( , , , "(" ")" ), .