code: func (c *Conn) Script(scriptData []byte, keyCount int, args ...interface{}) *Cmd {
  	h := sha1.New()
  	h.Write(scriptData)
  	sha1sum := hex.EncodeToString(h.Sum(nil))
  
  	newArgs := make([]interface{}, 2+len(args))
  	newArgs[0] = sha1sum
  	newArgs[1] = keyCount
  	copy(newArgs[2:], args)
  
  	return c.Command("EVALSHA", newArgs...)
  }
docs: // Script registers a command in the mock system just like Command method
  // would do. The first argument is a byte array with the script text, next
  // ones are the ones you would pass to redis Script.Do() method