Commands like "su", "passwd" and the like generally don't read passwords from standard input: they open the terminal device and read directly from there. This is how they manage to not echo the password to the terminal when you type it in.
It's possible to execute such a program from another program, but only by using ptys directly, not something you can do in pure Java. You could write an external program in C to do it, or use native methods.
Another easier idea for you: can you put the commands you need to run into a shell script and make it setuid to "imail?" This would avoid the need for a password altogether.