You can use the slop utility in bedtools or the range option in the bedops suite:
$ bedtools slop
Tool: bedtools slop (aka slopBed)
Version: v2.16.2
Summary: Add requested base pairs of "slop" to each feature.
Usage: bedtools slop [OPTIONS] -i <bed/gff/vcf> -g <genome> [-b <int> or (-l and -r)]
Options:
-bIncrease the BED/GFF/VCF entry -b base pairs in each direction.
- (Integer) or (Float, e.g. 0.1) if used with -pct.
...
The bedops tool in the BEDOPS suite does this, as well, with the use of the --range operator, specifying L and R as left and right shifts. You can specify negative values in either direction to "shrink" or shift elements (the latter useful for indexing changes). Zero-length elements, where found, are left out of results, and left padding will extend elements to the zero-th position:
One more option, perhaps. BEDOPS is deliberately agnostic about genomes, so this won't limit coordinates on the right bound, but that's easily addressed with awk and end boundary values specific to your genome and chromosomes.