start a program with other user's permission

I have some of programs in unix system which are to started with one_user say "xxxx".

I have sudo permission if i start these programs with sudo it shows root permission. But i want these programs permession should be "xxxx".

I tried "su user_name -c Program_name"

but it is not working..

pls help

You can use ssh to solve this problem.

Set up $HOME/.ssh/authorized_key entries for the users who need to be impersonated and then run the command using ssh and the matching private key.

could you please post the reason it is not working? that is the proper syntax - i created a script that touches a file, ran it as root and the file is owned by the user i set it to run as

when I run the script all application relates services are started but with root permissions.

ps -elf | grep application_service executed

it shows root instead of users_permission.

help me out if it is possible in shell script or perl...