The call to setfenv you’re doing is not actually being called inside of pcall. It’s being called first, then the result is being passed as the first argument to pcall. The behavior is the same as if the code had been written like this:
local arg1 = getfenv(2).script
local Sucess, Error = pcall(arg1)
print("Sucess, Error: ", Sucess, Error)
Instead, you should wrap the thing you’re trying to run inside of a function, like this:
pcall is a normal Lua function, so it can’t work in the way your example shows. It would have to be directly built into the language’s syntax, similar to if statements, or the try statements in other programming languages.