Bash:从chroot和切换用户执行命令

我写一个脚本,应该这样做…

chroot /chroot_dir/ su - ./startup.sh (This should run within the su environment) 

我试过这种方法:

 chroot /chroot_dir /bin/bash -c " su -; ./startup.sh" 

这试图执行用户切换和脚本作为string命令bash …但是它做了什么,它是“停止”之后“su – ”,并没有执行脚本。 但是,一旦我离开了“su – ”环境,它确实尝试运行startup.sh,但当然,它不能find它。

基本上我需要嵌套“startup.sh”在“su – ”环境中运行…

有任何想法吗?

非常感谢

尝试

 chroot /chroot_dir /bin/bash -c "su - -c ./startup.sh" 
 chroot /chroot_dir /bin/bash -x <<'EOF' su - ./startup.sh EOF 

基本选项:

 cat << EOF | chroot /chroot_dir touch aaaaa touch bbbbb EOF 

选项与不同的shell(例如,如果使用bash,但在chrooted环境中它不存在)

 cat << EOF | chroot /chroot_dir /bin/sh touch aaaaa touch bbbbb EOF