Q:

Unable to execute Unix command through Java code

case "BVT Tool":
    System.out.println("Inside BVT Tool");
    try {
        String[] command1 = new String[] {"mv $FileName /bgw/feeds/ibs/incoming/"};
        Runtime.getRuntime().exec(command1);
    } catch(IOException e) {
        System.out.println("execption is :"+ e);
        e.printStackTrace();
    }
    break;

I'm unable to execute the Unix command. It's showing the following exception:
java.io.IOException: Cannot run program mv $FileName /bgw/feeds/ibs/incoming/":
CreateProcess error=2, The system cannot find the file specified.

A:

I agree with @Reimeus on most points, but I want to point out that there reason you're getting this particular error message is a crosscontamination between 2 of the overloaded versions of exec: 
String command1 = "mv $FileName /bgw/feeds/ibs/incoming/";
Runtime.getRuntime().exec(command1);

Would work - it's allowed to specify the command and its parameters in one String if you use the overloaded version that expects a String
String[] command1 = new String[] {"mv", "$FileName", "/bgw/feeds/ibs/incoming/"};
Runtime.getRuntime().exec(command1);

would work too, because it uses the the exec version expecting a String array.  That version expects the command and its parameters in separate Strings
Please note that I here assume that $Filename is actually the name of the file, so no shell-based substitution will take place.
EDIT: if FileName is a variable name as you seem to suggest elsewhere in the comments, try
String[] command1 = new String[] {"mv", FileName, "/bgw/feeds/ibs/incoming/"};

But : with Commons IO you could just do
FileUtils.moveFileToDirectory(new File(FileName), new File("/bgw/feeds/ibs/incoming/") , true);

JavaDoc
which is

totally portable between Mac, Windows and Linux (your version won't work on Windows)
is faster because it doesn't need to spawn an external process
gives you more information when something goes wrong.

