Met wat je hebt laten zien, moet je ofwel de haakjes ontwijken:
echo execute some_procedure\(123,234\) | sqlplus username/example@sqldat.com
Of zet uw commando tussen dubbele aanhalingstekens:
echo "execute some_procedure(123,234)" | sqlplus username/example@sqldat.com
Ofwel stopt de shell met het proberen de parathenzen zelf te interpreteren, wat u een 'syntax error: '(' unexpected zou geven of soortgelijke fout. Het heeft eigenlijk niets met Oracle te maken, het is gewoon hoe de shell-interpreter werkt, voordat het zover komt dat de echo-string naar SQL*Plus wordt doorgestuurd.
Overigens zou ik over het algemeen een heredoc voor dit soort dingen gebruiken en vermijden om de inloggegevens op de opdrachtregel te plaatsen, zodat ze niet zichtbaar zijn via ps; bijvoorbeeld:
sqlplus -s /nolog <<!EOF
connect username/example@sqldat.com
execute some_procedure(123,234)
exit
!EOF