Между запуском приложений и команд шелла огромная разница.
Для приложения, надо знать пакет.
Intent launchIntent = getPackageManager().getLaunchIntentForPackage(<пакет>);
if (launchIntent != null) { // null если приложение не найдено или не имеет активити для запуска.
startActivity(launchIntent);
}
А вот запустить что-то из шелла, без прав суперпользователя, непросто. Код будет примерно, такой.
try{
Process su = Runtime.getRuntime().exec("su");
DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
outputStream.writeBytes("<команда>\n");
outputStream.flush();
outputStream.writeBytes("exit\n");
outputStream.flush();
su.waitFor();
}catch(IOException e){
throw new Exception(e);
}catch(InterruptedException e){
throw new Exception(e);
}