What are you passing to the (java)script as "arguments"? I'm not familiar with using the functionality through Selenium IDE, but back when I used Selenium 2, executing javascript synchronously or asynchronously, arguments, or rather arguments[N] is used when you actually pass in arguments to the script, otherwise, it makes sense that the arguments array is empty. Also from what I recall using it, arguments[0] is the first argument you provide to the script. It is different from the command line arguments model to scripting languages or programming languages like C/C++ and Java. arguments[0] is not equal to the name of the script/application that is running unlike that model.
So basically, it works something like this:
js.executeScript("arguments[0].setAttribute('style', arguments[1]);",
element, ""); // where arg 0 = element (the web element), arg 1 = empty string ""
and if no argument is used, would be something like these:
js.executeScript("return window.location;");
js.executeScript("someJavascriptFunctionThatDoesNotTakeArguments();");
So for what you want to do, would be something more like this, outside of Selenium IDE:
js.executeScript("console.log(arguments[0]);",
"foobar"); // this should work
js.executeScript("console.log(arguments);", "foo", "bar", "testing123"); //in theory, this may work, in reality, I don't know
If you wanted to check for the arguments, in javascript that you execute, you should do a comparison check whether arguments is null or the length of arguments received and log that out.