Okay, here is an example of using script arguments. Start by creating a script like this:
#name IndirectSelectTrack
SelectTrack($1)
What $1 is is a positional reference to an argument passed to the script from the binding. since these don't (yet) have names, you have to reference them by numbers: $1, $2, $3 etc.
Where those values come from is the binding arguments which for script will be shown as a single text box labeled Arguments. Words or numbers you type in here separated by spaces become the numbered arguments. So for a binding argument string "6 7 8" inside the script $1 will be 6, $2 will be 7, and $3 will be 8.
If you want to pass the name of something that has spaces in it, you need to surround it in quotes in the binding string:
Binding Editor:
Arguments: "My Snapshot Name"
Script:
LoadSnapshot($1)