Pass parameters upon invocation of Applescript
Your run handler looks lifted from Automator, but your desire to have it as a script invoked from the shell suggests it's designed to be run independently of Automator.

Here's an edited form of the script that you can copy and paste into a terminal (like iTerm):

(:(){ paste - &lt;&lt; SCRIPT &gt; "$*" &amp;&amp; chmod +x "$*"
#!/usr/bin/env osascript

on run {input} # Don't need the parameters arguments
    # set appName to "iTerm"
    # if application appName is not running then -- Not necessary since
    #    tell application appName to activate    -- activate will open it
    # end if

    tell application "iTerm"
        activate
        tell current session of current tab of current window
            write text "cd " &amp; quoted form of the input
        end tell
    end tell
end run
SCRIPT
} ; : /path/to/my saved script )


This combines several tasks into one, namely creating a script file into which the applescript text is saved, and then made executable.
Then to invoke:

"/path/to/my saved script" "/folder/path/parameter"


Although, if you're going to be running this from within the terminal anyway, I'm curious why you want to involve AppleScript at all.  You can just do this:

cd () { command cd "$( eval echo "${*-$HOME}" )" ; }


This re-defines cd so that doesn't need to quote the path they pass to it.  It's just an example, and you can replace cd () with whatever name for a new function you wish to create, and insert whatever commands you want inside {...}.