In order to run a script that's written in bash (i.e. it's interpretter is
#!/bin/bash), in any other shell, use either
sh or
bash before script name, as:-
Code:
~$ sh scriptname
OR
~$ bash scriptname
In your case, try:-
Code:
~$ su auser -c "sh a.sh; sh b.sh"
OR
~$ su auser -c "bash a.sh; bash b.sh"
Simple use of ./ will certainlly give your error.