exec(“dir”) produces Exception: Working Directory:null Environment:null

I Write simple application on AndroidStudio, run my it on a Galaxy Device.
when I am trying to execute the linux id command, like so –

Process proc = Runtime.getRuntime().exec("id");

It works fine. But most other Linux commands, including dir,
produces

Exception: Working Directory:null Environment:null.

I added those permissions to the AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

Do I miss permissions, or do I have to initialize some environment variables?
this is the method from mainActivity.java:

public void onButtonClick(View v) {
    TextView dataTextView = (TextView) findViewById(R.id.dataTextView);
    String st = "", st1 = "";
    try {
        Process proc = Runtime.getRuntime().exec("id");
        BufferedReader br = new BufferedReader(
                new InputStreamReader(proc.getInputStream()));
        while ((st1 = br.readLine()) != null) {
            st = "rnline: " + st1 + "rn";
            dataTextView.setText(st);
            System.out.println(st);
        }
        proc.waitFor();
        System.out.println("exit: " + proc.exitValue());
        dataTextView.setText(st + "exit: " + proc.exitValue());
        proc.destroy();
    }
    catch (Exception e) {
        if (e != null) {
            System.out.println("Exception: " + e.getMessage());
            dataTextView.setText("Exception: " + e.getMessage());
        }
    }
}