According to the manpage (where it had been listed as an example) the following command should split input file to multiple audio files at points with 2 seconds of silence. Instead of that it creates only one file which is reported to be about 0.2 second long.
$ sox -V3 infile.wav outfile.ogg silence 1 0.50 0.1% 1 3.0 0.1% : newfile : restart
sox: SoX v14.3.1
sox INFO formats: detected file format type `wav'
Input File : 'infile.wav'
Channels : 2
Sample Rate : 32000
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
Endian Type : little
Reverse Nibbles: no
Reverse Bits : no
Output File : 'outfile001.ogg'
Channels : 2
Sample Rate : 32000
Precision : 16-bit
Sample Encoding: Vorbis
Comment : 'Processed by SoX'
sox INFO sox: effects chain: input 32000Hz 2 channels
sox INFO sox: effects chain: silence 32000Hz 2 channels
sox INFO sox: effects chain: output 32000Hz 2 channels
Simpler examples using only trim gave me the same result.
Your command’s arguments (1 0.50 0.1% 1 3.0 0.1%) tell sox to find at least 0.5s gap before and 3.0s gaps after sound. If you would like to detect 2s gaps you should use “1 0.50 0.1% 1 2.0 0.1%” (or similar) as parameters. You get short empty file because “newfile : restart” command is run at the end of the file.