I'm afraid there is not any other solution. The limit is set as a kernel parameter (ARG_MAX) and in linux the only way to increase this value is to recompile the kernel itself. But not advisable, since it is related to memory allocation during the execution of commands.
You can retrieve this value for your system by issuing
or looking at /usr/include/linux/limits.h
You can find a good explanation of the ARG_MAX limit in the Coreutils FAQ, here
and an even more detailed one, here