Antibiotics have a very broad spectrum because they attack the metabolism pathways many bacteria share. For example, penicillin inhibits peptidoglycan synthesis, which is vital for formation of cell wall of gram-positive bacteria, so penicillin can be used to treat gram-positive bacteria infections. Streptomycin inhibits protein synthesis of bacteria. Because all the bacteria need protein synthesis, streptomycin has a very broad spectrum.
Why doesn't such strategy work on viruses? For example, nucleos(t)ide analogues can inhibit the RNA synthesis of RdRp. Most riboviruses (except hepatitis D virus) require a viral RdRp to replicate their genome. But why can't nucleos(t)ide analogues be used as broad spectrum anti-riboviral drugs even we have found very good drugs such as Sovaldi?