Why can't I use su to run under another app's permissions?
Yup using root is the only way to go. 

All other groups or username are locked in userland of Android by a technique known as sandboxing. This is security feature implemented at the core so you will need to rework  Android if you still want to succeed.