pyinstaller打包exe,带有数组参数

用python写的s1.py,输入参数是一个数组x,想把s1用pyinstaller打包成s1.exe,并在另一段s2.py中用sub.process调用。s1和s2的示意代码如下:

#以下是s1.py
def s1(x):
    print(sum(x))

#以下是s2.py
impose subprocess

x = [1,2,3]
func = r"...\s1.exe"
subprocess.run([func,x])

s1.exe是用pyinstaller -F -w s1.py得到的。
经过试验,上述代码不成功,猜测问题应该是出在参数的传递上。
网上找到的一些案列,可以用sys.argv[]传递参数,但其是基于控制台传输的,而且只能是string。
上述提出的需求有什么办法能够实现吗?
望各位不吝赐教。
感谢!

参考这篇哈,比较全面