Dynamic typing is really just passing around variables using an enumerated type. You don't need anything resembling an interpreter to do this and it's how the C extension APIs for many dynamic languages like Ruby and Lua work.
I think people in this thread are using 'dynamic typing' more as a shortcut to also mean features like eval, which does require a full interpreter or compiler.
This might be right, but it’s also true that most Common Lisp program can be compiled to machine code that’s very similar to what a C compiler would produce, except for the occasional runtime type check.