Override colons as field separators in /etc/passwd
I am not sure if my question belong here or to programming section but i guess here is more appropriate place.
I want to make a system (experimental) into which as soon as the user connects from an ssh session or from physical console, instead of the standard /bin/bash to have a different shell, java based.
As far as i understand, i must change the appropriate field in the /etc/passwd file or /etc/inittab.
The problem is that both of these files use colon as a field separator and the virual machine requires colon for parameter input (a line like java -Xbootclasspath:something -classpath something:somethingelse). Due to specification's i can't use any type of shell script to load the JVM because no other shell must be loaded. I am trying this in FC2 with 2.4 kernel.
I have read manuals about the /etc/passwd file and /etc/inittab file but didn't find anything to help me. I tried to put the command betwen quotes in /etc/passwd but it started /bin/sh instead and from there tried to run my application. I would like to go directly to application if possible.
I don't need multiuser or login prompt. Any other way besides runing another shell first would be nice.
Does anyone know how to do that? Can someone please give me a clue where to look or any link to any related info?