How do i execute script in the current shell

How do i run a shell script or perl script with in the context of a current shell.
I know that i can use command source. but we can't pass any arguments to
our script if we use source command as it takes only one argement i.e filename

Is there any way to run a script in the current shell itself and i want to pass arguments
to that script.
Current shell should be reflected accoding to my changes in the script.

Can somebody help me please.

execute as

. script.sh

Note the period at the beginning.

I tried but i am getting the following error

/bin/.: Permission denied.

What is that period means what i have to do to get permission.

The period says to execute it in the current shell. There should be a space between the period and the script name.

. /the/script/path/script.sh

i gave space also. still i am getting the same error.

[pcnt-nareshkg:nareshkg]/home/nareshkg/script> . /home/nareshkg/BOSDELIVERY/script/
test.sh
/bin/.: Permission denied.

Is there any env to set to use this.

it look like there is a '.' file in the /bin directory which is being referenced by this invocation and for which you dont have permissions. Check if there is any file as such in the /bin directory.

You can unset the PATH variable and execute the script again.