I would like to use su -c to run as root multiple commands altogether. I don't want to use an extra script for this.I tried the following:su root -c tcpdump -i wlan0 -s 1500 -w CCCCCC &  -c ls -lhbut it executes only the ls not the first one.I tried the following:su root -c tcpdump -i wlan0 -s 1500 -w CCCCCC & ; ls -lh;but it says that there is an error with the semicolon ;.Do you know how to do that?
Running multiple commands with su in Bash
bash;su
This command runs fine:su root -c date; ls -lhBut in this command:su root -c tcpdump -i wlan0 -s 1500 -w CCCCCC & ; ls -lh;Since you have & before ; therefore you are getting errors. Try removing & and re-executing the command.Or you can run your command like this:su root -c (tcpdump -i wlan0 -s 1500 -w CCCCCC &); ls -lh