source with args

MGS [2003/09/25] - Sometimes it is useful to source a file and pass arguments to the script. Unfortunately, the source command only accepts a filename, but you can use the following procedure :

proc src {file args} {
  set argv $::argv
  set argc $::argc
  set ::argv $args
  set ::argc [llength $args]
  set code [catch {uplevel [list source $file]} return]
  set ::argv $argv
  set ::argc $argc
  return -code $code $return
}

Larry Smith Or you could use SrcFile.