Here are some thoughts from having done similar things:
1. Don't invent a syntax, as we already have lisp. If the parens intimidate people, just inserting the outermost set for each line will get you a long way. e.g.
(clojure.edn/read-string (str "(" line ")"))
2. Make a multimethod to dispatch the first element of the list. (Not eval, or apply, since security is a concern.) If you want nested expressions, a simple evaluator does essentially this, except evaluates arguments first.
With a little finess, you could instead allow only public symbols from a specific namespace in the first position, and call those functions in a secure way.
3. JLine is the command-line editing library that's like readline for Java.