I follow what you are saying.
We may not need to add a helper class for the user. The user that would be using this is likely advanced and should/would use the OptionsProcessor and SessionState as they see fit.
A reason I could see for creating HiveShell is we would like to retrofit all the current tools cli, lineage, hwi to fit into some interface ensure that the SessionState, hive history, and etc is started up properly.
My use case is to be able to launch a class that can start a map/reduce program with the hadoop API and then execute a query with the hive API. I am using GregorianCalendar and date processing to figure out what files/partition to operate on, building hive strings and executing them directly with the QueryProcessor.
It seems some people are using a combination of bash|perl|python and hive -e|-f. Other then my reliance on cron to start off these jobs, I am 100% pure Java.
This tiny shell script is my entry point. For me, it does not need more sophistication but I could be missing something.