su doesn't change the user of your shell, it runs a
new shell, reading from standard input. If you want it to run any particular text you'll have to feed that text into it, it won't automatically read lines from some other shell.
If this is your own hobby machine, you can install
sudo and enable it for everyone in the
wheel group with the NOPASSWD option. Using
expect when you don't have to is
like this.