docker exec 执行命令开启程序报错

问题遇到的现象和发生背景

需要通过shell脚本开启docker,并且在docker中启动ros2的rviz程序,然后使用docker exec命令执行ros2命令“ros2 exec driver_name 'ros2 launch zps pnc_sim.launch.py'”就会报错:Error response from daemon: OCI runtime exec failed: exec failed: unable to start container process: exec: "ros2": executable file not found in $PATH: unknown。
使用 ros2 exec driver_name ls 之类的,可以正餐查询。

用代码块功能插入代码,请勿粘贴截图
docker exec zdrive_dev_mac sh -c '/zdrive/Python_shell/open_pnc_sim.sh'

open_pnc_sim.sh 内容是:

ros2 launch zps pnc_sim.launch.py
运行结果及报错内容

报错:Error response from daemon: OCI runtime exec failed: exec failed: unable to start container process: exec: "ros2": executable file not found in $PATH: unknown。

我想要达到的结果

能使用shell命令,在docker里面开启:sim这个程序