Interpreted Interpreter Duplicate? I knew somebody must've done this before.

Programming a programming language in itself is something that has interested me since I knew what a programming language was. So I thought I'd create a Code Golf challenge for you.
Challenge
Create an interpreter for a given programming language, programmed entirely in itself. The interpreter should be able to run any valid program in that language, including itself.
Inputs:
The program can take it's input as a file passed as a parameter (e.g. python myfile.py) or as lines from stdin (cat myfile.py | python).
Outputs:
Whatever an interpreter would normally output, on the correct streams (stdout, stderr etc.)
Specifications

The code needs to be written in an interpretable language, and serve as an interpreter for its own language.
It can't use an eval() function to interpret code.
It must run any valid program in that language. If the language allows external modules (or includes), it must be able to read those modules.
This task is code golf. The submission with the least characters that is correct wins. In case of a tie, the solution that was submitted first wins.

Loophole remover:

Yes, if you can interpret Java, Bytecode or HQ9++ in themselves, go ahead!
In JavaScript / ES, using HTML tags such as &lt;script&gt; is not allowed.
Nothing, 0 chars

The source code is an empty file. It does nothing, like any Nothing program, therefore it is the correct execution of every such program.