There are a number of "special" characters in a shell command, including $()[]
Most of these can simply be passed by enclosing the parameter in double quotes
foo "(hello)[]"
This however will not fix the $ sign, as it is intended for variables. You can instead use single quotes to pass a $ sign
foo '$im_not_a_variable'
If all else fails, ANY character can be escaped with a backslash including a space (no quotes needed)
foo (hello)[] $im_not_a_variable
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…