exp_internal: avoid fixed-size buffer for -info result
Build the exp_internal -info result as a Tcl list object instead of
formatting it into a static 1000-byte buffer. The diagnostic filename is
not limited to that buffer size, so using sprintf() could overflow it.
Leave the existing argument validation behavior unchanged.