You can pass a parameter to SQLPlus but you cannot mix PL/SQL with SQLPlus commands. So your example will not fly. So you might need to wrap it with a shell script. But as I look at your PL/SQL routine you just try to add the path. Maybe this is possible though.
Call sqlplus like this
sqlplus user/password@database @genericscript.sql path
And then within genericscript.sql
SET SERVEROUTPUT ON
start &1.myscript.sql
quit
In my example the myscript.sql has this content
select 'hello welt' from dual;
So I got the following output from SQLPlus
[oracle@localhost sqp]$ sqlplus user/pw@db @genericscript.sql /home/oracle/sqp/
SQL*Plus: Release 11.2.0.2.0 Production on Tue May 14 22:53:15 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
'HELLOWELT
----------
hello welt
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Hope it helps. You can have a look at the SQLPLUS reference manual.
http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_five.htm#autoId13
I prefer the PDF