Label names are only valid inside the script. You can't just add the label name after the batch name and expect the script to know what you mean. If you want to pass the label name as a single parameter from the command line (or another script), you could insert:
goto %1
after the @echo off line.
Doing it this way means you must always pass a valid label name or the script will halt with an error.
Or you can do IF tests, e.g.
if "%1"=="one" goto one
if "%1"=="two" goto two
...etc
(you need a final goto to catch a wrong or missing label)
By the way, looking at your example script:
:one
pause
call test.bat
:two
echo.
You do realise that this code will always go to :two after test.bat has finished? After a label section, you need to explicitly goto (somewhere) otherwise execution will continue at the next code line, skipping any labels, which may not be what you wanted it to do.